Various forms of storage systems are used today. These forms include direct attached storage (DAS) network attached storage (NAS) systems, storage area networks (SANs), and others. Network storage systems are commonly used for a variety of purposes, such as providing multiple clients with access to shared data, backing up data and others.
A storage system typically includes at least a computing system executing a storage operating system for storing and retrieving data on behalf of one or more client computing systems (may just be referred to as “client” or “clients”). The storage operating system stores and manages shared data containers in a set of mass storage devices.
Quality of Service (QOS) is a metric used in a networked storage environment to provide certain throughput for processing input/output (I/O) requests for reading or writing data, a response time goal within, which I/O requests are processed and a number of I/O requests processed within a given time (for example, in a second (IOPS). Throughput means amount of data transferred within a given time, for example, in megabytes per second (Mb/s).
Clients today may be provided with a guaranteed service level when it comes to storage performance. The service level is typically defined by a service level object that is associated with a particular storage level and defines a service level objective (SLO). SLOB are typically associated with a workload (for example, a volume, LUN, file and others). The workload is assigned to one or more resources for storing data and retrieving data for the workload. The resource utilization and workload performance vary in different periods. Conventional systems do not provide efficient tools for sharing SLO allotments based on SLO tracking. Continuous efforts are being made to provide better manageability solutions for networked storage environments that are used by various clients.